package ar.edu.sovietrussia;

import java.util.ArrayList;
import java.util.List;

import utils.Pair;
import exceptions.NoHabilidadesInJugadorException;

public class Jugador implements Nombrable, Habilidad {

	//-----INSTANCE VARIABLES ---------------------------------------//
	
	private int id;
	private String nombre;
	private List<Habilidad> habilidades;
	
	//-----CONSTRUCTORS ---------------------------------------//

	public Jugador(){
	}
	
	public Jugador (String name){
		this.nombre = name;
		this.habilidades = new ArrayList<Habilidad>();
	}
	
	//-----ACCESORS ---------------------------------------//
	
	public List<Habilidad> getHabilidades() {
		return habilidades;
	}
	
	public void setHabilidades(List<Habilidad> habilidades) {
		this.habilidades = habilidades;
	}
	
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	public String getNombre() {
		return this.nombre;
	}
	
	
	public int getId() {
		return id;
	}
	
	public void setId(int id) {
		this.id = id;
	}
	
	
	//-----OTHER BEHAVIOUR ---------------------------------------//
	
	
	public void addHabilidad(HabilidadImpl habilidad){
		this.habilidades.add(habilidad);
	}
	
	//----------//
	
	public int getValor(Posicion aPosicion) {
		int ret = 0;
		
		if(! this.habilidades.isEmpty()){
			for(Habilidad it : this.habilidades){
				if(it.getValor(aPosicion)>ret){
					ret = it.getValor(aPosicion);
				}
			}
		}
			return ret;
		
	}


}
